package com.cictec.middleware.core.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * 发车屏实体类
 * 
 * @author ql
 *
 */
@Table(name = "t_departure_board")
public class DepartureBoard implements Serializable {

	/**
	 * 是否在线
	 */
	@Transient
	private boolean online = false;
	/** 发车屏屏幕（子表） */
	@Transient
	List<DepartureBoardScreen> screens;

	public boolean isOnline() {
		return online;
	}

	public void setOnline(boolean online) {
		this.online = online;
	}

	public List<DepartureBoardScreen> getScreens() {
		return screens;
	}

	public void setScreens(List<DepartureBoardScreen> screens) {
		this.screens = screens;
	}

	/**
	 * 主键
	 */
	@Id
	@Column(name = "ds_uuid")
	private String dsUuid;

	/**
	 * 控制主机编号
	 */
	@Column(name = "ds_code")
	private String dsCode;

	/**
	 * 是否删除标志：1：启用；0：删除
	 */
	@Column(name = "ds_isvalid")
	private String dsIsvalid;

	/**
	 * 备注说明
	 */
	@Column(name = "ds_remarks")
	private String dsRemarks;

	@Column(name = "ds_name")
	private String dsName;

	/**
	 * 时间范围
	 */
	@Column(name = "ds_time_frame")
	private Integer dsTimeFrame;

	/**
	 * 创建时间
	 */
	@Column(name = "ds_create_time")
	private Date dsCreateTime;

	private static final long serialVersionUID = 1L;

	/**
	 * 获取主键
	 *
	 * @return ds_uuid - 主键
	 */
	public String getDsUuid() {
		return dsUuid;
	}

	/**
	 * 设置主键
	 *
	 * @param dsUuid
	 *            主键
	 */
	public void setDsUuid(String dsUuid) {
		this.dsUuid = dsUuid == null ? null : dsUuid.trim();
	}

	/**
	 * 获取控制主机编号
	 *
	 * @return ds_code - 控制主机编号
	 */
	public String getDsCode() {
		return dsCode;
	}

	/**
	 * 设置控制主机编号
	 *
	 * @param dsCode
	 *            控制主机编号
	 */
	public void setDsCode(String dsCode) {
		this.dsCode = dsCode == null ? null : dsCode.trim();
	}

	/**
	 * 获取是否删除标志：1：启用；0：删除
	 *
	 * @return ds_isvalid - 是否删除标志：1：启用；0：删除
	 */
	public String getDsIsvalid() {
		return dsIsvalid;
	}

	/**
	 * 设置是否删除标志：1：启用；0：删除
	 *
	 * @param dsIsvalid
	 *            是否删除标志：1：启用；0：删除
	 */
	public void setDsIsvalid(String dsIsvalid) {
		this.dsIsvalid = dsIsvalid == null ? null : dsIsvalid.trim();
	}

	/**
	 * 获取备注说明
	 *
	 * @return ds_remarks - 备注说明
	 */
	public String getDsRemarks() {
		return dsRemarks;
	}

	/**
	 * 设置备注说明
	 *
	 * @param dsRemarks
	 *            备注说明
	 */
	public void setDsRemarks(String dsRemarks) {
		this.dsRemarks = dsRemarks == null ? null : dsRemarks.trim();
	}

	/**
	 * @return ds_name
	 */
	public String getDsName() {
		return dsName;
	}

	/**
	 * @param dsName
	 */
	public void setDsName(String dsName) {
		this.dsName = dsName == null ? null : dsName.trim();
	}

	/**
	 * 获取时间范围
	 *
	 * @return ds_time_frame - 时间范围
	 */
	public Integer getDsTimeFrame() {
		return dsTimeFrame;
	}

	/**
	 * 设置时间范围
	 *
	 * @param dsTimeFrame
	 *            时间范围
	 */
	public void setDsTimeFrame(Integer dsTimeFrame) {
		this.dsTimeFrame = dsTimeFrame;
	}

	/**
	 * 获取创建时间
	 *
	 * @return ds_create_time - 创建时间
	 */
	public Date getDsCreateTime() {
		return dsCreateTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param dsCreateTime
	 *            创建时间
	 */
	public void setDsCreateTime(Date dsCreateTime) {
		this.dsCreateTime = dsCreateTime;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", dsUuid=").append(dsUuid);
		sb.append(", dsCode=").append(dsCode);
		sb.append(", dsIsvalid=").append(dsIsvalid);
		sb.append(", dsRemarks=").append(dsRemarks);
		sb.append(", dsName=").append(dsName);
		sb.append(", dsTimeFrame=").append(dsTimeFrame);
		sb.append(", dsCreateTime=").append(dsCreateTime);
		sb.append("]");
		return sb.toString();
	}
}